package 对象_序列专属;

public class Demo {
    /**
     * 什么是序列化和反序列化？
     *   序列化：把对象转换为字节序列的过程称为对象的序列化。
     *   反序列化：把字节序列恢复为对象的过程称为对象的反序列化。
     *
     * 序列化就是将一个对象的状态（各个属性量）保存起来，然后在适当的时候再获得
     *
     * 序列化分为两大部分：序列化和反序列化。序列化是这个过程的第一部分，将数据分解成字节流，以便存储在文件中或在网络上传输。
     * 反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示，有时还要恢复数据。恢复数据要求有恢复数据的对象实例。
     *
     * 序列化有什么特点：
     * 如果某个类能够被序列化，其子类也可以被序列化。声明为static和transient类型的成员数据不能被序列化。
     * 因为static代表类的状态， transient代表对象的临时数据。
     *
     * 什么时候使用序列化：
     * 一：对象序列化可以实现分布式对象。主要应用例如：RMI要利用对象序列化运行远程主机上的服务，就像在本地机上运行对象时一样。
     * 二：对象序列化不仅保留一个对象的数据，而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中，可以保存在文件中或在网络连接上传递。
     * 利用对象序列化可以进行对象的"深复制"，即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。
     */
}
